package com.stox.charting.ui.swing.presenter;

import com.stox.charting.ui.swing.model.Chart;
import com.stox.charting.ui.swing.presenter.delegate.advisor.ChartSizeAdvisor;
import com.stox.charting.ui.swing.presenter.delegate.advisor.ChartThemeAdvisor;
import com.stox.charting.ui.swing.presenter.delegate.binder.ChartActionBinder;

public class ChartPresenter {

	private ChartSizeAdvisor sizeAdvisor;
	private ChartThemeAdvisor themeAdvisor;
	private ChartActionBinder actionBinder;
	
	
	public void present(Chart<?> chart){
		sizeAdvisor.advise(chart);
		themeAdvisor.advise(chart);
		actionBinder.bind(chart);
	}

	public ChartSizeAdvisor getSizeAdvisor() {
		return sizeAdvisor;
	}

	public void setSizeAdvisor(ChartSizeAdvisor sizeAdvisor) {
		this.sizeAdvisor = sizeAdvisor;
	}

	public ChartThemeAdvisor getThemeAdvisor() {
		return themeAdvisor;
	}

	public void setThemeAdvisor(ChartThemeAdvisor themeAdvisor) {
		this.themeAdvisor = themeAdvisor;
	}

	public ChartActionBinder getActionBinder() {
		return actionBinder;
	}

	public void setActionBinder(ChartActionBinder actionBinder) {
		this.actionBinder = actionBinder;
	}

}
